#include <stdio.h>

// 删除有序数组中的重复项
int removeDuplicates(int *nums, int numsSize)
{
    int count = 1; // 初始化为1，因为至少有一个元素
    for (int i = 1; i < numsSize; i++)
    {
        if (nums[i] != nums[count - 1])
        {                          // 只需要检查与最后保留的元素
            nums[count] = nums[i]; // 保留不重复的元素
            count++;               // 更新计数
        }
    }

    // 打印结果
    for (int i = 0; i < count; i++)
    {
        printf("%d ", nums[i]);
    }
    printf("\n");

    return count; // 返回不重复元素的个数
}

int main()
{
    int nums[] = {0, 0, 1, 1, 1, 2, 2, 3, 3, 4};
    int len = sizeof(nums) / sizeof(nums[0]);
    int ret = removeDuplicates(nums, len);
    printf("%d\n", ret);
    return 0;
}
